package com.onesports.intelligent.k12.polarlight.domain.vo.course;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.Data;

/**
 * 我的拼班VO
 *
 * @author clw
 * @date 2022-07-08 18:15:47
 */
@Data
@ApiModel(value = "我的拼班VO")
public class MineSpellClassVO {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "机构ID")
    private String organizationId;

    @ApiModelProperty(value = "校区Id")
    private String campusId;

    @ApiModelProperty(value = "商品Id")
    private String productId;

    @ApiModelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty(value = "封面图片")
    private String coverImage;

    @ApiModelProperty(value = "班级名称")
    private String className;

    @ApiModelProperty(value = "班级状态" + "0：拼班中  1：待开课(拼班完成) 2：拼班未成功 3：开班中  4：解散（到期结课）5：解散（团长解散）、6：解散（人数不足）")
    private String classStatus;

    @ApiModelProperty(value = "拼班类型")
    private String spellType;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "课程Id")
    private String courseId;

    @ApiModelProperty(value = "周期:上课开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startDate;

    @ApiModelProperty(value = "周期:上课结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endDate;

    @ApiModelProperty(value = "时段:开始时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "时段:结束时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "课表节次总数")
    private Integer totalNum;

    @ApiModelProperty(value = "团长Id")
    private String wxUserId;

    @ApiModelProperty(value = "团长昵称")
    private String nickName;

    @ApiModelProperty(value = "团长头像")
    private String avatar;

    @ApiModelProperty(value = "团长手机号")
    private String phone;

    @ApiModelProperty(value = "是否团长: true 是, false 否")
    private Boolean regimentalCommander;

    @ApiModelProperty(value = "方式：1按星期  2：按日期")
    private String courseType;

    //@TableField(value = "week_code",typeHandler = ArrayTypeHandler.class,jdbcType = JdbcType.ARRAY)
    private String[] weekCode;

    @ApiModelProperty(value = "课表时段明细表Id")
    private String courseScheduleDetailId;

    @ApiModelProperty(value = "课表Id")
    private String courseScheduleId;

    @ApiModelProperty(value = "拼班明细表Id")
    private String spellClassDetailsId;

    @ApiModelProperty(value = "(学员)拼班成员VO")
    List<WeChatUserVO> weChatUserList;

    @ApiModelProperty(value = "最多n人团")
    private Integer maxNum;

}
